.\" Copyright Andries Brouwer, Ragnar Hojland Espinosa and A. Wik, 1998.
.\"
.\" This file may be copied under the conditions described
.\" in the LDP GENERAL PUBLIC LICENSE, Version 1, September 1998
.\" that should have been distributed together with this file.
.\"
.TH LS 1 "November 1998" "GNU fileutils 4.0"
.SH NAME
ls, dir, vdir \- 列目录内容

.SH 提要
ls [选项] [文件名...]
.sp
POSIX 标准选项:
.B "[-CFRacdilqrtu1]"
.SH GNU 选项 (短格式):
.B [-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] 
.B [-w cols] [-T cols] [-I pattern] 
.B [--full-time]
.B [--format={long,verbose,commas,across,vertical,single-column}] 
.B [--sort={none,time,size,extension}]
.B [--time={atime,access,use,ctime,status}]
.B [--color[={none,auto,always}]] 
.B [--help] 
.B [--version] 
.B [--]
.SH 描述（ DESCRIPTION ）
程序ls先列出非目录的文件项，然后是每一个目录中的\(lq可显示\(rq文件。如果
没有选项之外的参数【译注：即文件名部分为空】出现，缺省为 "." （当前目录）。
选项\(lq -d \(rq使得目录与非目录项同样对待。除非\(lq -a \(rq 选项出现，文
件名以\(lq.\(rq开始的文件不属\(lq可显示\(rq文件。

以当前目录为准，每一组文件（包括非目录文件项，以及每一内含文件的目录）分
别按文件名比较顺序排序。如果\(lq -l \(rq选项存在，每组文件前显示一摘要行:
给出该组文件长度之和（以 512 字节为单位）。

输出是到标准输出（ stdout ）。除非以\(lq -C \(rq选项要求按多列输出，输出
将是一行一个。然而，输出到终端时，单列输出或多列输出是不确定的。可以分别
用选项\(lq -1 \(rq 或\(lq -C \(rq来强制按单列或多列输出。
.PP POSIX 选项
.TP
.B "\-C"
多列输出，纵向排序。
.TP
.B "\-F"
每个目录名加\(lq / \(rq后缀，每个 FIFO 名加\(lq | \(rq后缀，
每个可运行名加\(lq * \(rq后缀。
.TP
.B "\-R"
递归列出遇到的子目录。
.TP
.B "\-a"
列出所有文件，包括以 "." 开头的隐含文件。
.TP
.B "\-c"
使用\(lq状态改变时间\(rq代替\(lq文件修改时间\(rq为依据来排序
（使用\(lq -t \(rq选项时）或列出（使用\(lq -l \(rq选项时）。
.TP
.B "\-d"
将目录名象其它文件一样列出，而不是列出它们的内容。
.TP
.B "\-i"
输出文件前先输出文件系列号（即 i 节点号: i-node number）。
-l 列出（以单列格式）文件模式（ file mode ），文件的链
接数，所有者名，组名，文件大小（以字节为单位），时间信
息，及文件名。缺省时，时间信息显示最近修改时间；可以以
选项\(lq -c \(rq和\(lq -u \(rq选择显示其它两种时间信息。对于设
备文件，原先显示文件大小的区域通常显示的是主要和次要的
号（majorand minor device numbers）。
.TP
.B "\-q"
将文件名中的非打印字符输出为问号。（对于到终端的输出这是缺省的。）
.TP
.B "\-r"
逆序排列。
.TP
.B "\-t"
按时间信息排序。
.TP
.B "\-u"
使用最近访问时间代替最近修改时间为依据来排序（使用
\(lq -t \(rq选项时）或列出（使用\(lq -l \(rq选项时）。
.TP
.B "\-1" 单列输出。
.SH GNU 细节
如果标准输出是终端，将多列输出（纵向排序）。
.TP
dir ( 也被安装为命令 d ) 等同于\(lq ls -C \(rq；即，文件
缺省是多列输出，纵向排序。vdir ( 也被安装为命令 v )
等同于\(lq ls -l \(rq； 即，文件缺省是按长格式输出。
.SH GNU 选项
.B "-1, --format=single-column"
一行输出一个文件（单列输出）。如标准输出不是到终端，
此选项就是缺省选项。
.TP
.B "-a, --all"
列出目录中所有文件，包括以\(lq.\(rq开头的文件。
.TP
.B "-b, --escape"
把文件名中不可输出的字符用反斜杠加字符编号(就象在 C
语言里一样)的形式列出。
.TP
.B "-c, --time=ctime, --time=status"
按文件状态改变时间（i节点中的ctime）排序并输出目录内
容。如采用长格式输出（选项\(lq-l\(rq），使用文件的状态改
变时间取代文件修改时间。【译注：所谓文件状态改变（i节
点中以ctime标志），既包括文件被修改，又包括文件属性（
如所有者、组、链接数等等）的变化】
.TP
.B "-d, --directory"
将目录名象其它文件一样列出，而不是列出它们的内容。
.TP
.B "-f"
不排序目录内容；按它们在磁盘上存储的顺序列出。同时启
动\(lq -a \(rq选项，如果在\(lq -f \(rq之前存在\(lq -l \(rq、\(lq -
-color \(rq或\(lq -s \(rq，则禁止它们。
.TP
.B "-g" 忽略，为兼容UNIX用。
.TP
.B "-i, --inode"
在每个文件左边打印 i 节点号（也叫文件序列号和索引号: file serial number
and index number）。i节点号在每个特定的文件系统中是唯一的。
.TP
.B "-k, --kilobytes"
如列出文件大小，则以千字节KB为单位。
.TP
.B "-l, --format=long, --format=verbose"
除每个文件名外，增加显示文件类型、权限、硬链接数、所
有者名、组名、大小（ byte ）、及时间信息（如未指明是
其它时间即指修改时间）。对于6个月以上的文件或超出未来
1 小时的文件，时间信息中的时分将被年代取代。

每个目录列出前，有一行\(lq总块数\(rq显示目录下全部文件所
占的磁盘空间。块默认是 1024 字节；如果设置了 POSIXLY_CORRECT
的环境变量，除非用\(lq -k \(rq选项，则默认块大小是 512 字
节。每一个硬链接都计入总块数（因此可能重复计数），这无
疑是个缺点。
.TP
列出的权限类似于以符号表示（文件）模式的规范。但是 ls
在每套权限的第三个字符中结合了多位（ multiple bits ）
的信息，如下：
s 如果设置了 setuid 位或 setgid 位，而且也设置了相应的可执行位。
S 如果设置了 setuid 位或 setgid 位，但是没有设置相应的可执行位。
t 如果设置了 sticky 位，而且也设置了相应的可执行位。
T 如果设置了 sticky 位，但是没有设置相应的可执行位。
x 如果仅仅设置了可执行位而非以上四种情况。
- 其它情况（即可执行位未设置）。
.TP
.B "-m, --format=commas"
水平列出文件，每行尽可能多，相互用逗号和一个空格分隔。
.TP
.B "-n, --numeric-uid-gid"
列出数字化的 UID 和 GID 而不是用户名和组名。
.TP
.B "-o"
以长格式列出目录内容，但是不显示组信息。等于使用\(lq --format=long 
--no-group \(rq选项。提供此选项是为了与其它版本的 ls 兼容。
.TP
.B "-p"
在每个文件名后附上一个字符以说明该文件的类型。类似\(lq -F \(rq选项但是不
标示可执行文件。
.TP
.B "-q, --hide-control-chars"
用问号代替文件名中非打印的字符。这是缺省选项。
.TP
.B "-r, --reverse"
逆序排列目录内容。
.TP
.B "-s, --size"
在每个文件名左侧输出该文件的大小，以 1024 字节的块为单位。如果设置了
POSIXLY_CORRECT 的环境变量，除非用\(lq -k \(rq选项，块大小是 512 字节。
.TP
.B "-t, --sort=time"
按文件最近修改时间（ i 节点中的 mtime ）而不是按文件名字典序排序，新文件
靠前。
.TP
.B "-u, --time=atime, --time=access, --time=use"
类似选项\(lq -t \(rq，但是用文件最近访问时间（ i 节点中的 atime ）取代文件修
改时间。如果使用长格式列出，打印的时间是最近访问时间。
.TP
.B "-w, --width cols"
假定屏幕宽度是 cols （ cols 以实际数字取代）列。如未用此选项，缺省值是这
样获得的：如可能先尝试取自终端驱动，否则尝试取自环境变量 COLUMNS （如果设
置了的话），都不行则取 80 。
.TP
.B "-x, --format=across, --format=horizontal"
多列输出，横向排序。
.TP
.B "-A, --almost-all"
显示除 "." 和 ".." 外的所有文件。
.TP
.B "-B, --ignore-backups"
不输出以\(lq ~ \(rq结尾的备份文件，除非已经在命令行中给出。
.TP
.B "-C, --format=vertical"
多列输出，纵向排序。当标准输出是终端时这是缺省项。使用命令名 dir 和 d 时，
则总是缺省的。
.TP
.B "-D, --dired"
当采用长格式（\(lq -l \(rq选项）输出时，在主要输出后，额外打印一行：
//DIRED// BEG1 END1 BEG2 END2 ...
.TP
BEGn 和 ENDn 是无符号整数，记录每个文件名的起始、结束位置在输出中的位置（
字节偏移量）。这使得 Emacs 易于找到文件名，即使文件名包含空格或换行等非正
常字符也无需特异的搜索。
.TP
如果目录是递归列出的（\(lq -R \(rq选项），每个子目录后列出类似一行：
//SUBDIRED// BEG1 END1 ...
【译注：我测试了 TurboLinux4.0 和 RedHat6.1 ，发现它们都是在
\(lq //DIRED// BEG1... \(rq之后列出\(lq //SUBDIRED// BEG1 ... \(rq，也即只有一个
而不是在每个子目录后都有。而且\(lq //SUBDIRED// BEG1 ... \(rq列出的是各个子目
录名的偏移。】
.TP
.B "-F, --classify, --file-type"
在每个文件名后附上一个字符以说明该文件的类型。\(lq * \(rq表示普通的可执行文件；
\(lq / \(rq表示目录；\(lq @ \(rq表示符号链接；\(lq | \(rq表示FIFOs；\(lq = \(rq表示套接字
(sockets) ；什么也没有则表示普通文件。
.TP
.B "-G, --no-group"
以长格式列目录时不显示组信息。
.TP
.B "-I, --ignorepattern"
除非在命令行中给定，不要列出匹配 shell 文件名匹配式（ pattern ，不是指一般
表达式）的文件。在 shell 中，文件名以 "." 起始的不与在文件名匹配式 (pattern)
开头的通配符匹配。
.TP
.B "-L, --dereference"
列出符号链接指向的文件的信息，而不是符号链接本身。
.TP
.B "-N, --literal"
不要用引号引起文件名。
.TP
.B "-Q, --quote-name"
用双引号引起文件名，非打印字符以 C 语言的方法表示。
.TP
.B "-R, --recursive"
递归列出全部目录的内容。
.TP
.B "-S, --sort=size"
按文件大小而不是字典序排序目录内容，大文件靠前。
.TP
.B "-T, --tabsize cols"
假定每个制表符宽度是 cols 。缺省为 8。为求效率， ls 可能在输出中使用制表符。
若 cols 为 0，则不使用制表符。
.TP
.B "-U, --sort=none"
不排序目录内容；按它们在磁盘上存储的顺序列出。（选项\(lq -U \(rq和\(lq -f \(rq的不
同是前者不启动或禁止相关的选项。）这在列很大的目录时特别有用，因为不加排序
能显著的加快速度。
.TP
.B "-X, --sort=extension"
按文件扩展名（由最后的 "." 之后的字符组成）的字典序排序。没有扩展名的先列
出。
.TP
.B "--color[=when]"
指定是否使用颜色区别文件类别。环境变量 LS_COLORS 指定使用的颜色。如何设置
这个变量见 dircolors(1) 。 when 可以被省略，或是以下几项之一：
.TP
none 不使用颜色，这是缺省项。
auto 仅当标准输出是终端时使用。
always 总是使用颜色。指定 --color 而且省略 when 时就等同于 --color=always 。
.TP
.B "--full-time"
列出完整的时间，而不是使用标准的缩写。格式如同 date(1) 的缺省格式；此格式
是不能改变的，但是你可以用 cut(1) 取出其中的日期字串并将结果送至命令
\(lq date -d \(rq。
.TP
输出的时间包括秒是非常有用的。（ Unix 文件系统储存文件的时间信息精确到秒，
因此这个选项已经给出了系统所知的全部信息。）例如，当你有一个 Makefile 文件
不能恰当的生成文件时，这个选项会提供帮助。
.SH GNU 标准选项
.TP
.B "--help"
打印用法信息到标准输出并顺利退出。
.TP
.B "--version"
打印版本信息到标准输出并顺利退出。
.TP
.B "--"
结束选项表。
.SH 环境
变量 POSIXLY_CORRECT 可以决定一组选择。如果没有设置此变量，每个制表符的字
符数由变量 TABSIZE 决定。变量 COLUMNS （当它由一个十进制整数表示时）决定输
出的列宽度（同\(lq -C \(rq选项一起用时）。文件名不得为适应多列输出而被截断。变
量 LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES 及 LC_TIME 仍保持原义。
变量 TZ 给出时区供 ls 输出相应的时间字串。变量 LS_COLORS 用以决定是否使用
颜色。 
.SH 已知错误
在 BSD 系统上，对于从 HP-UX 系统上通过 NFS mount 而来的文件，\(lq -s \(rq选项报
告的大小只有正确值的一半；在 HP-UX 系统上，对于从 BSD 系统上通过 NFS mount 
而来的文件， ls 报告的大小则有正确值的两倍。这是 HP-UX 的一个缺陷造成的，它
也影响 HP-UX 上的 ls 程序。
.SH 适合到
POSIX 1003.2
.SH 参见
dircolors(1)
.SH 注意
本页描述的是 fileutils-3.16 文件包中的 ls ，其它版本的可能略有不同。纠错或添
加（功能）请 mailto: aeb@cwi.nl 和 aw@mail1.bet1.puv.fi 及 
ragnar@lightside.ddns.org 。本程序的错误报告请 mailto:
fileutils-bugs@gnu.ai.mit.edu 。 

.SH "[中文版维护人]"
.B wangdong <wangdong@163.net>
.SH "[中文版最新更新]"
.B 2003.11.22
.SH "《中国linux论坛man手册翻译计划》:"
.BI http://cmpp.linuxforum.net 
